package cn.harry.wx.service;

import cn.harry.wx.entity.WxMsgReplyRule;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;

/**
 * 自动回复规则
 *
 * @author honghh
 * Date 2021-04-08 16:19:27
 * Copyright (C) www.tech-harry.cn
 */
public interface WxMsgReplyRuleService {

    /**
     * 分页查询自动回复规则信息
     *
     * @param wxMsgReplyRule
     * @param pageSize
     * @param pageNum
     * @return
     */
    IPage<WxMsgReplyRule> getPage(WxMsgReplyRule wxMsgReplyRule, Integer pageSize, Integer pageNum);

    /**
     * 根据ID查询
     *
     * @param id
     * @return
     */
    WxMsgReplyRule selectById(Long id);

    /**
     * 创建自动回复规则信息
     *
     * @param wxMsgReplyRule
     * @return
     */
    int create(WxMsgReplyRule wxMsgReplyRule);

    /**
     * 更新自动回复规则
     *
     * @param id
     * @param wxMsgReplyRule
     * @return
     */
    int update(Long id, WxMsgReplyRule wxMsgReplyRule);

    /**
     * 批量删除
     *
     * @param ids
     * @return
     */
    int deleteByIds(Long[] ids);


    /**
     * 获取当前时段内所有有效的回复规则
     *
     * @return 有效的规则列表
     */
    List<WxMsgReplyRule> getValidRules();
    /**
     * 筛选符合条件的回复规则
     *
     *
     * @param appid
     * @param exactMatch 是否精确匹配
     * @param keywords   关键词
     * @return 规则列表
     */
    List<WxMsgReplyRule> getMatchedRules(String appid, boolean exactMatch, String keywords);
}

